package controllers;

import java.util.List;

import models.Paciente;
import play.data.validation.Required;
import play.data.validation.Valid;
import play.mvc.*;
import utils.Security;


public class Pacientes extends Controller {

	/**
	 * Recupera e exibe lista de Pacientes cadastrados.
	 */
	public static void index() {

		Security.deny();

		List<Paciente> pacientes = Paciente.all().fetch();
		
		flash.clear();
		
		render(pacientes);
	}
	
	/**
	 * Recupera um paciente através do seu id.
	 * @param id
     */
	public static void show(long id)
	{
		Paciente paciente = Paciente.findById(id);
		render("@form",paciente);
	}
	
	/**
	 * Exibe o form de cadastro de pacientes.
	 */
	public static void create()
	{
		Security.deny();
		
		render("@form");
	}

	/**
	 * Salva (persiste) o paciente na base.
	 * @param paciente
	 */
	public static void save(@Valid Paciente paciente)
	{
		Security.deny();
		
		if (validation.hasErrors())
		{
			flash.error("Favor corrigir os erros a seguir");
			render("@form",paciente);
		}
		paciente.save();
		flash.success("Salvo com sucesso");
		index();
	}

	/**
	 * Exclui o paciente pelo seu id.
	 * @param id
	 */	
	public static void delete(long id)
	{
		Paciente pacientes = Paciente.findById(id);
		pacientes.delete();
		flash.success("Apagado com sucesso");
		index();
	}

	
}
